package com.pzb.goods.domain;

import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
import java.util.Set;


/**
 * 商品管理对象 gd_goods
 * 
 * @author Mr_Wu
 * @date 2021-11-30
 */
public class GdGoods implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;
    /** 商品编码 */
    private String goodsCode;

    private Long goodsClassId;

    /** 商品名称 */
    private String name;
    /** 预览图 */
    private String picturePath;
    /** 商品描述 */
    private String content;

    /** 市场参考价 */
    private String referencePrice;

    private String groupPrice;

    private Boolean isPanic = false;

    private String panicPrice;

    /** 库存 */
    private Integer stock;

    private List<GoodsPicture> pictureList;

    /** 商品规格 */
    List<String> unitKeys ;


    List<List<JSONObject>> goodsUnit;

    private List<GdGoodsUnits> unitsList;

    /** 快递费模板 */
    private GdFreightTemplateData freightTemplate;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }


    public void setGoodsCode(String goodsCode) 
    {
        this.goodsCode = goodsCode;
    }

    public String getGoodsCode() 
    {
        return goodsCode;
    }

    public Long getGoodsClassId() {
        return goodsClassId;
    }

    public void setGoodsClassId(Long goodsClassId) {
        this.goodsClassId = goodsClassId;
    }


    public void setName(String name)
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getPicturePath() {
        return picturePath;
    }

    public void setPicturePath(String picturePath) {
        this.picturePath = picturePath;
    }

    public void setReferencePrice(String referencePrice)
    {
        this.referencePrice = referencePrice;
    }

    public String getReferencePrice()
    {
        return referencePrice;
    }

    public String getGroupPrice() {
        return groupPrice;
    }

    public void setGroupPrice(String groupPrice) {
        this.groupPrice = groupPrice;
    }

    public Boolean getIsPanic() {
        return isPanic;
    }

    public void setIsPanic(Boolean isPanic) {
        this.isPanic = isPanic;
    }

    public String getPanicPrice() {
        return panicPrice;
    }

    public void setPanicPrice(String panicPrice) {
        this.panicPrice = panicPrice;
    }

    public Integer getStock() {
        return stock;
    }

    public void setStock(Integer stock) {
        this.stock = stock;
    }

    public List<GoodsPicture> getPictureList() {
        return pictureList;
    }

    public List<String> getUnitKeys() {
        return unitKeys;
    }

    public void setUnitKeys(List<String> unitKeys) {
        this.unitKeys = unitKeys;
    }

    public List<List<JSONObject>> getGoodsUnit() {
        return goodsUnit;
    }

    public void setGoodsUnit(List<List<JSONObject>> goodsUnit) {
        this.goodsUnit = goodsUnit;
    }

    public void setPictureList(List<GoodsPicture> pictureList) {
        this.pictureList = pictureList;
    }

    public List<GdGoodsUnits> getUnitsList() {
        return unitsList;
    }

    public void setUnitsList(List<GdGoodsUnits> unitsList) {
        this.unitsList = unitsList;
    }

    public GdFreightTemplateData getFreightTemplate() {
        return freightTemplate;
    }

    public void setFreightTemplate(GdFreightTemplateData freightTemplate) {
        this.freightTemplate = freightTemplate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("goodsCode", getGoodsCode())
            .append("name", getName())
            .append("referencePrice", getReferencePrice())
            .toString();
    }
}
